Conventionally, a 3D modeling and rendering process is used for representing different views of a 3D scene. The usual steps in constructing a 3D model include: loading an image or previous saved work; displaying the image; identifying one or more object features in the image; finding the object features in 3D space; displaying a model of object features in 3D space; measuring lengths, distances and angles of the objects; and saving the work. These steps can be repeated until satisfactory results are obtained. This process requires a great deal of user interaction and is time-consuming. The user has to construct detailed models (e.g., polygon or wire frame) of the objects appearing in an image.
Once 3D models are obtained, the models may be animated by varying them and displaying the varied models at a predetermined frame rate. However, it is difficult to manipulate computer graphics representations of three-dimensional models, for example to rotate the object or “fly through” a scene. If many objects need to be displayed, or many surface textures need to be filled, the time required to compute new views can be prohibitive. The conventional 3D rendering process is thus compute intensive and also the rendering time depends on the complexity of the visible part of the scene.
On another note, in many graphics applications, a special effect operation known as “warping” or “morphing” is used to gradually transform one image into another image. This is accomplished by creating a smooth transitional link between the two images. Some computer programs, for example, use warping to generate an animation sequence using the image transformations. Such an animation might, for example, show a first person's face transforming into a second person's face.
The warping process preserves features associated with each image by mapping the features from a source image to corresponding features in a destination image. In particular, mesh warping warps a first image into a second image using a point-to-point mapping from the first image to the second image. A first lattice (mesh) is superimposed on the first image and second lattice is superimposed on the second image. For each point in the first lattice, a one-to-one correspondence with a corresponding point in the second lattice is defined. Mesh warping is generally described in George Wolberg, Digital Image Warping, IEEE Computer Society Press (1990). Variations on mesh warping include a version in which the user specifies lines on the first image corresponding to lines on the second image.
Morphing is a name for animation sequences which display gradual transformation. This concept has been used for transformations of 2D images, 3D polygons, and voxels. The morphing operation changes one picture to another by creating a smooth transitional link between the two pictures. The process preserves features associated with each image by mapping the features from a source image to corresponding features in a destination image. Morphing couples image warping with color interpolation. Image warping applies two dimensional geometric transformations on images to align their features geometrically, while color interpolation blends their colors. In this way, a seamless transition from one picture to another is achieved.
U.S. Pat. No. 6,268,846 discloses a computer-implemented method that generates a new view of a three-dimensional scene by receiving three or more pictures representing three or more different view points on a plane, each picture taken from a viewing direction perpendicular to the plane; selecting a new point on the plane; and generating the new view of the three dimensional scene from the new point by morphing among the three or more pictures.
U.S. Pat. No. 6,573,889 discloses a computer-implemented system that performs a conformal warp operation using a unique warping function to map a first area to a second area. The first area is defined by a first enclosing contour and the second area is defined by a second enclosing contour. The system defines the first enclosing contour; modifies the first enclosing contour into the second enclosing contour; generates an analytic function to conformally warp the first area into the second area; and performs the conformal warp using the analytic function. The system does not require the user to define mappings from individual points within the first contour to individual points within the second contour. Rather, the user needs to only specify the first and second contours and correspondences between them. This increases the ease of use with which the user can define a mapping between the first and second images and also allows for a more uniform warping which preserves angles.